package com.bos.service.imp;

import com.bos.dao.ISubareaDao;
import com.bos.domain.Subarea;
import com.bos.service.ISubareaService;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author Administrator
 */
@Service
@Transactional
public class ISubareaServiceImp implements ISubareaService {

    @Autowired
    private ISubareaDao subareaDao;

    @Override
    public void save(Subarea subarea) {
        subareaDao.save(subarea);
    }

    @Override
    public List<Subarea> findAll() {
        return subareaDao.findAll();
    }

    @Override
    public List<Subarea> findByCriteria() {
        DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Subarea.class);
        detachedCriteria.add(Restrictions.isNull("decidedzone"));
        return subareaDao.findByCriteria(detachedCriteria);
    }

    @Override
    public Subarea findById(String subId) {
        return subareaDao.findById(subId);
    }

    @Override
    public List<Object> finSubareasByRegion() {
        return subareaDao.findSubareasByRegion();
    }
}
